package com.heima.user.service;

import com.heima.model.common.dtos.ResponseResult;
import com.heima.model.user.dto.AuthDto;
import com.heima.model.user.entity.ApUserRealname;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * APP实名认证信息表(ApUserRealname)表服务接口
 *
 * @author makejava
 * @since 2022-04-23 08:54:23
 */
public interface ApUserRealnameService {

    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    ApUserRealname queryById(Long id);

    /**
     * 查询多条数据
     *
     * @param offset 查询起始位置
     * @param limit  查询条数
     * @return 对象列表
     */
    List<ApUserRealname> queryAllByLimit(int offset, int limit);

    /**
     * 新增数据
     *
     * @param apUserRealname 实例对象
     * @return 实例对象
     */
    ApUserRealname insert(ApUserRealname apUserRealname);

    /**
     * 修改数据
     *
     * @param apUserRealname 实例对象
     * @return 实例对象
     */
    ApUserRealname update(ApUserRealname apUserRealname);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Long id);

    /**
     * 上传实名认证信息
     *
     * @param font_image
     * @param back_image
     * @param hold_image
     * @param live_image
     * @param name
     * @param idno
     * @return
     */
    ResponseResult submit(MultipartFile font_image, MultipartFile back_image, MultipartFile hold_image, MultipartFile live_image, String name, String idno);

    /**
     * 查询用户实名认证列表
     *
     * @param dto
     * @return
     */
    ResponseResult list(AuthDto dto);

    /**
     * 用户实名认证审核
     * @param id
     * @param status
     * @param msg
     * @return
     */
    ResponseResult auth(Long id, int status,String msg);
}
